﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Blackbird.Database.Interface
{
    /// <summary>
    /// An interface for providing access to CRUD (create, read, update, delete).
    /// </summary>
    interface IDataQuery
    {
        /// <summary>
        /// Create an object within the database.
        /// </summary>
        /// <param name="Criteria">The data to be executed. E.G -> CREATE TABLE `user`</param>
        /// <returns>True or false, dependent on query sucess.</returns>
         bool Create(string Criteria);

        /// <summary>
        /// Read an object from within the database.
        /// </summary>
        /// <param name="TargetData">The target for the executed statement.</param>
        /// <returns>True or false, dependent on query sucess.</returns>
         bool Read(string TargetData);

        /// <summary>
        /// Update an object from within the database.
        /// </summary>
        /// <param name="TargetData">The target to be updated.</param>
        /// <returns>True or false, dependent on query sucess.</returns>
         bool Update(string TargetData);

        /// <summary>
        /// Delete an object from the database.
        /// </summary>
        /// <param name="Criteria">The target to be deleted.</param>
        /// <returns>True or false, dependent on query sucess.</returns>
         bool Delete(string Criteria);
    }
}
